/*
 - Autor(es):
 -      Rommel A. Quintanilla C.
 -      Donia A. Ruelas A.
 -      Julio C. Ccahuana M.
 - Fecha: 16/05/07

 - Copyleft: (C) 2007
 - Este programa es software libre. Puede redistribuirlo y/o modificarlo bajo los
 - terminos de la Licencia Publica General de GNU segun es publicada por la Free
 - Software Foundation, de la version 2 de dicha Licencia.
 -
 - Este programa se distribuye con la esperanza de que sea util, pero SI NINGUNA
 - GARANTIA; tampoco las implicitas garantias de MERCANTILIDAD o ADECUACION A UN
 - PROPOSITO PARTICULAR. Consulte la GNU General Public License (GPL) para mas
 - detalles adjuntada a este programa. (Fichero: JuradoWeb-License.txt).
 -
 - Descripcion:
 - Validador Formulario Registro.
*/

/*Verifica si se apretó un enter*/
function Envia(e){
tecla = (document.all) ? e.keyCode : e.which;
if(tecla == 13) 
 {
  Comprobar();
 }
 return;
}

//Variables Globales para validación de Formulario con Ajax
var peticion;
var respuesta;

function CompruebaValidacionAdministrador()
{
 urlServlet="CompruebaValidacionAdministrador?nicknameAdmin=" + document.Formulario.nicknameAdmin.value + "&contraseniaAdmin=" + document.Formulario.contraseniaAdmin.value;
 LeerServlet(urlServlet);
}

function InicializaAjax()
{
 peticion = false;
 if(window.XMLHttpRequest)
 {
  return new XMLHttpRequest();
 }
}

function LeerServlet(urlServlet)
{
 peticion = InicializaAjax();
 if(peticion.overrideMimeType)
 {
  peticion.overrideMimeType("text/xml");
 }
 
 if(peticion)
 {
  peticion.open("GET",urlServlet,true);
  peticion.onreadystatechange = ProcesarRespuesta;
  peticion.send(null);
 }
}

function ProcesarRespuesta()
{
 errorFormulario=false;
 if(peticion.readyState==4)
 {
  if(peticion.status==200)
  {
   respuesta = peticion.responseXML;

   var respuestaXML = respuesta.getElementsByTagName('respuesta')[0];
   var esAdministrador = respuestaXML.getElementsByTagName('esAdministrador')[0].firstChild.data;

   if(esAdministrador=="true")
   {
    document.getElementById('errorAdmin').innerHTML = '';
   }
   else if(esAdministrador=="false")
   {
    document.getElementById('errorAdmin').innerHTML = 'El nickname no existe o la contraseña ingresada no coincide!!';
    errorFormulario=true;
   }

   if(!(/^[A-Za-z0-9á-ú]{4,30}$/.test(document.Formulario.nicknameAdmin.value)))
   {
    document.getElementById('errorNicknameAdmin').innerHTML = 'El nickname ingresado <br />no es válido.';
    errorFormulario=true;
   }
   else
   {
    document.getElementById('errorNicknameAdmin').innerHTML = '';
   }

   if(!(/^[A-Za-z0-9á-ú]{6,16}$/.test(document.Formulario.contraseniaAdmin.value)))
   {
    document.getElementById('errorContraseniaAdmin').innerHTML = 'La contraseña ingresada <br />no es válida.';
    errorFormulario=true;
   }
   else
   {
    document.getElementById('errorContraseniaAdmin').innerHTML = '';
   }

   if(errorFormulario==true)
   {
    alert ("Por favor corrija los campos del formulario que marcan error.");
    return 0;
   }  
   else if(errorFormulario==false)
   {
    alert ("No olvide cerrar su cuenta al final de su sesión!");
    document.forms[0].submit();
    return 0;
   }
  }
 }
}	

function Comprobar()
{
 var estaVacio=false;
 var numero=document.forms[0].elements.length;
 var a;
 for(a=0;a<numero-2;a++) //parche para que no bote error acerca del objeto flash.
 {
  if(document.forms[0].elements[a].value=="")
  {
   document.forms[0].elements[a].style.backgroundColor="#ffffcc";
   estaVacio=true;
  }
  else
  {
   document.forms[0].elements[a].style.backgroundColor="white";
  }
 }
 
 if(estaVacio)
 {
  alert("Por favor, rellene todos los campos pues son obligatorios.");
  return 0;
 }
 else
 {
  CompruebaValidacionAdministrador();
 }
}